package com.hl.ruoyicsmshop.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 售后对象 afterSale
 * 
 * @author ruoyi
 * @date 2025-08-06
 */
public class AfterSale extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 售后ID */
    private Long asId;

    /** 对应的订单ID */
    @Excel(name = "对应的订单ID")
    private Long orderId;

    /** 售后类型(1-退款,2-退货) */
    @Excel(name = "售后类型(1-退款,2-退货)")
    private Integer asType;

    /** 售后状态(1-申请中,2-通过售后,3-拒绝售后,4-卖家终止售后,5-待平台退款,6-完成售后,7-买家取消售后) */
    @Excel(name = "售后状态(1-申请中,2-通过售后,3-拒绝售后,4-卖家终止售后,5-待平台退款,6-完成售后,7-买家取消售后)")
    private Integer asStatus;

    /** 申请原因 */
    @Excel(name = "申请原因")
    private String asCause;

    /** 退款申请时间 */
    @Excel(name = "退款申请时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date asCreateTime;

    /** 退款完成时间 */
    @Excel(name = "退款完成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date asSuccessTime;

    /** 退款申请金额 */
    @Excel(name = "退款申请金额")
    private BigDecimal asMoney;

    /** 申请用户ID */
    @Excel(name = "申请用户ID")
    private Long userId;

    /** 商家ID */
    @Excel(name = "商家ID")
    private Long businessId;

    /** 拒绝/终止原因 */
    @Excel(name = "拒绝/终止原因")
    private String refundReason;

    /** 退款凭证 */
    @Excel(name = "退款凭证")
    private String refundProof;

    public void setAsId(Long asId) 
    {
        this.asId = asId;
    }

    public Long getAsId() 
    {
        return asId;
    }

    public void setOrderId(Long orderId) 
    {
        this.orderId = orderId;
    }

    public Long getOrderId() 
    {
        return orderId;
    }

    public void setAsType(Integer asType) 
    {
        this.asType = asType;
    }

    public Integer getAsType() 
    {
        return asType;
    }

    public void setAsStatus(Integer asStatus) 
    {
        this.asStatus = asStatus;
    }

    public Integer getAsStatus() 
    {
        return asStatus;
    }

    public void setAsCause(String asCause) 
    {
        this.asCause = asCause;
    }

    public String getAsCause() 
    {
        return asCause;
    }

    public void setAsCreateTime(Date asCreateTime) 
    {
        this.asCreateTime = asCreateTime;
    }

    public Date getAsCreateTime() 
    {
        return asCreateTime;
    }

    public void setAsSuccessTime(Date asSuccessTime) 
    {
        this.asSuccessTime = asSuccessTime;
    }

    public Date getAsSuccessTime() 
    {
        return asSuccessTime;
    }

    public void setAsMoney(BigDecimal asMoney) 
    {
        this.asMoney = asMoney;
    }

    public BigDecimal getAsMoney() 
    {
        return asMoney;
    }

    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }

    public void setBusinessId(Long businessId) 
    {
        this.businessId = businessId;
    }

    public Long getBusinessId() 
    {
        return businessId;
    }

    public void setRefundReason(String refundReason) 
    {
        this.refundReason = refundReason;
    }

    public String getRefundReason() 
    {
        return refundReason;
    }

    public void setRefundProof(String refundProof) 
    {
        this.refundProof = refundProof;
    }

    public String getRefundProof() 
    {
        return refundProof;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("asId", getAsId())
            .append("orderId", getOrderId())
            .append("asType", getAsType())
            .append("asStatus", getAsStatus())
            .append("asCause", getAsCause())
            .append("asCreateTime", getAsCreateTime())
            .append("asSuccessTime", getAsSuccessTime())
            .append("asMoney", getAsMoney())
            .append("userId", getUserId())
            .append("businessId", getBusinessId())
            .append("refundReason", getRefundReason())
            .append("refundProof", getRefundProof())
            .toString();
    }
} 